#include <REGX52.H>
#include <INTRINS.H>
#i#include "Timer0.h"

unsigned char KeyNum, LEDMode;

void main() {
	P2 = 0xFE;
	Timer0Init(); // 中断初始化
	while (1) {
		KeyNum = Key();
		if (KeyNum == 1) {
			if (++LEDMode >= 2) {
				LEDMode = 0;	// 使LEDMode只能为0或1
			}
		}

	}
}


void Timer0_Routine() interrupt 1 {
	static unsigned int T0Count; // 静态变量，函数结束后不会销毁（与全局变量的区别：只有本函数可以使用）
	TL0 = 0x18;	  // 重新设置定时初值
	TH0 = 0xFC;	  // 重新设置定时初值
	// 每100ms
	if(++T0Count >= 100) {
		T0Count = 0;	// T0Count
		if (LEDMode == 0) {
			P2 = _crol_(P2, 1); // 循环左移一位
		} else {
			P2 = _cror_(P2, 1); // 循环右移一位
		}
	}
}